# 使用UI层 DAL层配合查询数据 (MSSQLHelper方式)

UI层,就是用户交互层,就是跟用户操作发生直接联系的界面.祺佑三层开发框架的UI控件全部放在Qiyu单笔维护.vcx中.Qiyu_form_singlecursor 类实例为所有UI控件承载的表单. 所以我们需要通过个Qiyu_form_singlecursor 生成表单界面. 工具->选项->表单 这样就可以使用了. 新建一个表单,并往其中拖入Qiyu_Grid_sort控件 text1控件,拖两个Command按钮控件,设置成如图所示 注: Qiyu开头的控件受表单opcode的属性影响,故将表单opcode属性设为2(编辑模式) 在MSSQLhelper按钮Click方法中输入如下代码(MSSQLHelper直接查询方式)

lcname=Alltrim(Thisform.txtname.Value)
lcSQLCmd=stringformat("select * from Employees where Lastname like '%{1}%'",lcname)
oDBSQLhelper=Newobject("MSSQLHelper","Class\MSSQLHelper.prg")
oDBSQLhelper.SQLQuery(lcSQLCmd,"Employees")
Thisform.qiyu_grid_sort1.RecordSource="Employees"
Thisform.qiyu_grid_sort1.bind() &&点击表头即可排序
1
2
3
4
5
6

在DAL_PRG按钮Click方法中输入如下代码(DAL_PRG查询方式)

lcname=Alltrim(Thisform.txtname.Value)
strwhere=stringformat("Lastname like '%{1}%'",lcname)
*-- Newobject 函数声明一个类
*-- 参数1 是类名称,参数2 是类所在的PRG文件
*-- 1 DALPRG类的实例化和查询所有记录
oDALPRG=Newobject("DAL_JC_Employees","dal_employees.prg")
oDALPRG.Getlist(strwhere)
thisform.qiyu_grid_sort1.RecordSource=oDALPRG.Alias
Thisform.qiyu_grid_sort1.bind() &&点击表头即可排序
1
2
3
4
5
6
7
8
9

两个方式都可以实现一样的效果.